<?php

    Class EstadiosDAO
    {

        private static function getInstance($rs)
        {
            $estadio = new Estadio();

            $estadio->idEstadio  = $rs->fields["idestadio"];
            $estadio->nombre     = $rs->fields["nombre"];
            $estadio->capacidad  = $rs->fields["capacidad"];
            $estadio->ciudad     = $rs->fields["ciudad"];

            return $estadio;
        }

        static function add(&$estadio)
        {
            $db = MyConnection::$db;

            $query = $db->Prepare("INSERT INTO estadios (nombre, capacidad, ciudad) VALUES (?,?,?)");
            return $db->Execute($query, array($estadio->nombre, $estadio->capacidad, $estadio->ciudad));
        }

        static function getById($id)
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM estadios WHERE idEstadio = $id");

            if (!$rs->EOF)
            {
                return self::getInstance($rs);
            }
        }

        static function getAll()
        {
            $db = MyConnection::$db;
            
            $rs = $db->Execute("SELECT * FROM estadios ORDER BY capacidad DESC");

            $all = array();
            while (!$rs->EOF)
            {
                $all[] = self::getInstance($rs);
                $rs->MoveNext();
            }

            return $all;
        }

        static function getSinEquipoAsociado()
        {
            // Hacerlo con SQL a futuro...

            $all = EstadiosDAO::getAll();
            $some = array();

            foreach ($all as $estadio)
            {
                if ($estadio->getEquipo() == null)
                    $some[] = $estadio;
            }

            return $some;
        }
    }

?>